#ifndef CARD_HEADER
#define CARD_HEADER


class Card {

public:
	enum SUIT { Diamonds, Hearts, Clubs, Spades };
	enum RANK { ACE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING };

	// constructor and destructor
	Card(int suit, int rank);
	virtual ~Card();

	int	getPoints() const;
	void setPoints();          // Set points of the card.
	RANK GetRank() const;          // Get type of card.
	SUIT GetSuit() const;              // Get suit of card.
	void setVisibility(bool a);

	//enum & operator++( SUIT &rs, int ) {return rs = (SUIT)(rs + 1);}
	//enum & operator++( RANK &rs, int ) {return rs = (RANK)(rs + 1);}

protected:
	int cardPoints;
	RANK cardRank;	
	SUIT cardSuit;
	bool mbr_visible;
};
#endif